1. Field of the Invention
The present invention relates generally to the field of computers, and more particularly, to a system and method for fair arbitration on a multiprocessor bus.
2. Related Art
Modern multiprocessing systems typically have a plurality of processors, a main shared memory and other input/output (I/O) devices, such as peripherals, that are coupled to a main system bus. To permit maximum utilization of the bus these systems often use split transactions. (For simplification, the processors, main memory and I/O devices will be referred to as "nodes".) A split transaction is a read transaction that is split into a read request transaction that contains the address of the data requested, and a reply transaction that contains the requested data. Reply transactions are also called read responses. Each transaction must be tagged so that the requesting node and the replying node (e.g., main memory or a processor having the requested data in its cache) can keep track of the status of the read request. When individual transactions being performed by a node are long in duration, a split transaction approach allows several transactions to simultaneously occupy the bus, thus increasing the effective bandwidth of the bus.
In order to support split transactions on a shared bus, both the requesting node and the replying node must arbitrate for the bus to perform their respective functions. Conventionally, arbitration is handled by a single bus arbiter. The single bus arbiter receives all bus requests and grants use of the bus according to an arbitration scheme. However, in systems which employ a single bus arbiter, several bus cycles are required to perform each bus arbitration. Specifically, the requesting nodes first send their request(s) to the arbiter. Then the arbiter makes the arbitration decision and then communicates that decision to all nodes on the system bus.
What is desired is a mechanism to handle system bus arbitration in a multiprocessor architecture that minimizes the time for arbitration decisions to be completed.